
import { defineStore } from 'pinia'
import { addCart ,fetchCartInfo,modifyItemNum,removeCartItem,changeCartItemSelect} from "@a/cart";
const useCartStore = defineStore('cart', {
  state: () => {
    return {
      // 购物车中的商品
      items: [],
      // 购物车商品总数量
      number: 0,
      // 购物车中选中商品总价格
      price: 0
    }
  },
  actions: {
    // 将购物车数据赋值 给state
    initCartState(cart: {items: any[], number: number, price: number}){
      this.items = cart.items;
      this.number = cart.number;
      this.price = cart.price;
    },
    // 加入购物车
    addCart (params: {goodsId: number, number: number}) {
      addCart(params).then(res => {
        if (res.data.code === 0) {
          this.initCartState(res.data.data)
        }
        
      })
    },
    // 请求购物车数据
    fetchCartInfo () {
      fetchCartInfo().then(res => {
        if (res.data.code === 0) {
          this.initCartState(res.data.data)
        }
        
      })
    }
  },
  persist: true
})

export default useCartStore